-- OLTP read query workload

----------

-- oltp_read_select_01 (randfourram)
-- single random row select on an index int field
-- uses: fourram
-- might use index on: fourram.p_key
-- returns 1 row

select p_key, p_code, p_date, p_signed, p_name
	from fourram
	where p_key = 100;
p_key|p_code    |    p_date| p_signed|p_name              
-----+----------+----------+---------+--------------------
  100|57dw14RNIj|02-16-1947|116498082|XgIpLZ6T2GqBbWBdiS2t
(1 row)


----------

-- oltp_read_select_02 (randbase)
-- single table random contiguous range select on an indexed int field, sort on an indexed character field
-- uses: hundred
-- might use index on: hundred.h_key, hundred.h_name (probably won't bother with the index with only 200 rows to sort)
-- returns 201 rows

select h_key, h_code, h_date, h_signed, h_name
	from hundred
	where h_key between 100 and 100+200
	order by h_name;
h_key|h_code    |    h_date|h_signed|h_name              
-----+----------+----------+--------+--------------------
  143|2jnBduzgxU|04-18-1992|     188| 6ktHMlhanS0n4y1cTFy
  297|qb3RyeCZfM|12-20-1971|     100| 6ktHMlhanS0n4y1cTFy
  199|jxq.S6dNvE|08-28-1950|     163|0Cuqv5YHapty5XjTYeUQ
  234|tjE51AV12Y|01-07-1967|     115|0Cuqv5YHapty5XjTYeUQ
  141|aREgBrNdPV|11-30-1915|     197|0nl8d7NNRjkgc6KoeaRB
  167|b3VrxWGbwl|06-05-1959|     178|0nl8d7NNRjkgc6KoeaRB
  286|RFnbU0VIU3|05-17-1948|     128|0nl8d7NNRjkgc6KoeaRB
  292|95wghJPTsU|01-18-1980|     144|0nl8d7NNRjkgc6KoeaRB
  111|:mCCUBlQf2|10-14-1947|     119|10iM4 9rIz1KD2O1I4Ax
  243|5RjtZt3ikg|10-30-1979|     145|10iM4 9rIz1KD2O1I4Ax
  246|EDFWA:HaA:|10-29-1974|     135|10iM4 9rIz1KD2O1I4Ax
  274|krlQULDhS1|01-09-1933|     138|10iM4 9rIz1KD2O1I4Ax
  279|AWphf55AQq|10-03-1961|     124|1Pr9N9JLx9D68VnA7aeg
  102|SYXRQMyCLz|03-13-1986|     136|2MwdN0x526oj2zTWeShn
  149|HUSycGXYWZ|11-04-1902|     173|2MwdN0x526oj2zTWeShn
  255|S1biepmcMW|05-10-1961|     195|2MwdN0x526oj2zTWeShn
  159|:cpjyfoxmb|12-15-1960|     110|2c:v:zcxJdW2Vus4YWk4
  195|lIDenapoWe|10-10-1957|     127|2xnr32mCnXfxa9vQPoe8
  241|4rUsIFcdnX|10-24-1912|     149|2xnr32mCnXfxa9vQPoe8
  129|jH2w2PZvL7|12-19-1962|     103|3J2HnvEo 3YvX50MlEKu
  203|MmkXQOjjII|02-11-1949|     162|3J2HnvEo 3YvX50MlEKu
  112|pZQ26KDLTC|04-30-1998|     117|4bPeuYKXigai9  t24W0
  282|SgWAZr0CcC|12-08-1943|     130|4bPeuYKXigai9  t24W0
  200|q4W3HL.jzy|02-26-1940|     126|5WywFXVRWLj0z18zPA0j
  136|zx5d8zDxr4|01-27-1933|     113|5mbIXWAmfRRmuV5:ef6y
  148|4.ywtQnL31|04-11-1969|     117|5mbIXWAmfRRmuV5:ef6y
  196|Pg8TG18zyZ|05-07-1977|     115|5mbIXWAmfRRmuV5:ef6y
  262|D.6GJ.YK9w|01-09-1921|     172|5mbIXWAmfRRmuV5:ef6y
  110|IMOaM:1mTD|03-27-1933|     177|6T61fSdd2kTgw8EpWS6q
  123|pCKAeXMHeK|12-27-1985|     118|6T61fSdd2kTgw8EpWS6q
  156|f.LAFa1gbl|02-08-1915|     138|6T61fSdd2kTgw8EpWS6q
  268|kuQ7noJr8C|03-27-1922|     103|6T61fSdd2kTgw8EpWS6q
  238|VfZa3cJ58z|10-21-1961|     193|6jgnxRo6jq5yQzdvlxa 
  240|8In2P6sOXE|06-01-1903|     102|6jgnxRo6jq5yQzdvlxa 
  245|qVQK2:Hu.h|07-30-1993|     172|6jgnxRo6jq5yQzdvlxa 
  270|Iib7q5R:gX|03-27-1902|     195|87:N7qBywYOxu pscbqM
  181|PyOmQmQuxP|04-26-1997|     188|8tiaPpMsE9Xjp1NXWft3
  204|sMF:qSaTRu|07-12-1989|     101|8tiaPpMsE9Xjp1NXWft3
  253|CZbPGAC2LJ|01-09-1953|     119|8tiaPpMsE9Xjp1NXWft3
  272|OPkBaC8I6T|02-15-1924|     131|8tiaPpMsE9Xjp1NXWft3
  103|oh1VdCwstq|12-27-1982|     178|9qnEpk0dj6cVL8uo7xwC
  179|28YZJ20RbB|10-15-1979|     147|9qnEpk0dj6cVL8uo7xwC
  133|ySchXNcMLm|08-28-1992|     114|:FwWAJf7xCKHGzSTs3zR
  150|FyCOYpAYIh|05-18-1970|     185|:FwWAJf7xCKHGzSTs3zR
  291|Ck2ZPJxJ8u|07-14-1948|     155|:FwWAJf7xCKHGzSTs3zR
  117|Mc6Y270new|08-23-1916|     140|AXu4GdgJIkHSGdFGqXmg
  168|sV17Rvcch3|11-12-1932|     181|AXu4GdgJIkHSGdFGqXmg
  217|lQwV9inw4O|01-28-1938|     146|An6oYcrDxPQEB8DME4pv
  261|CjsszdfF0q|11-19-1917|     173|An6oYcrDxPQEB8DME4pv
  106|flqn3zGosI|03-13-1963|     190|BBWp:aE9DYCDfEqJ3F:c
  267|PjB8PngwBJ|01-24-1947|     163|BBWp:aE9DYCDfEqJ3F:c
  300|6VrCrSK7LO|05-25-1973|     129|BBWp:aE9DYCDfEqJ3F:c
  137|FVRMcxppTJ|01-17-1985|     135|Bx:br:pYs8LV :opqkcR
  147|18UCYkvuFc|10-11-1986|     181|Bx:br:pYs8LV :opqkcR
  290|NWuFa0GyXX|12-22-1911|     146|Bx:br:pYs8LV :opqkcR
  105|B3G7w.i00z|08-17-1923|     141|Ce5PJBA5jo40b7s4UgRG
  118|.9bbIuItMy|06-19-1942|     149|D8gzIy29RlrS1e iCKyU
  144|Gk0Fg66SLZ|07-25-1912|     125|D8gzIy29RlrS1e iCKyU
  146|4ynqE7mNkq|02-04-1937|     118|D8gzIy29RlrS1e iCKyU
  160|0I6hxrGOvG|06-30-1902|     198|D8gzIy29RlrS1e iCKyU
  183|8aibL07t7H|08-02-1996|     158|D8gzIy29RlrS1e iCKyU
  190|akGvAWjAhZ|01-17-1982|     135|D8gzIy29RlrS1e iCKyU
  236|P4B6TcvUIa|09-08-1954|     193|DTpl1xgzarZEV:7oxO2D
  124|hd:vG4SKMH|10-11-1955|     158|EiImbvZTnZmDzFkKoYKr
  125|tC9loU7fci|01-20-1901|     115|G0bi5m3oJsdfJAypJBhS
  207|D:an9Hp406|09-15-1977|     186|G0bi5m3oJsdfJAypJBhS
  215|WG6TwIBuus|02-23-1979|     158|G0bi5m3oJsdfJAypJBhS
  266|SrtgjFFCOV|05-27-1900|     181|G0bi5m3oJsdfJAypJBhS
  289|cpzvzwL4Vb|01-07-1972|     187|G0bi5m3oJsdfJAypJBhS
  114|GFmpZQwTpx|06-26-1924|     164|GEYVKnQu2m1SOFZJv6DD
  232|4sOg9VVaVJ|08-28-1981|     108|GEYVKnQu2m1SOFZJv6DD
  130|WzE.uqNRsq|03-10-1971|     117|HO1IdkpjW1VDnhemALW 
  155|Jg3pA7LayH|09-01-1982|     100|HO1IdkpjW1VDnhemALW 
  113|JEEBaVoul5|04-08-1959|     133|HeD2UJ0dfA9VHcCsvPZO
  237|tOgMwrcZLg|12-22-1941|     113|HeD2UJ0dfA9VHcCsvPZO
  298|Qw9QfAT3iO|05-14-1943|     122|HeD2UJ0dfA9VHcCsvPZO
  174|D4NKyNMWFG|04-30-1982|     111|HzRWrlepivnRsmFgmhTQ
  211|jDv1FRRqd4|06-01-1958|     131|HzRWrlepivnRsmFgmhTQ
  218|fwtnsZaLtd|09-22-1969|     154|HzRWrlepivnRsmFgmhTQ
  180|otcxl:0g6o|07-08-1946|     166|IWrRgDSOXERu:aHoQgaf
  295|ITLENBMEm5|04-08-1993|     142|IWrRgDSOXERu:aHoQgaf
  226|YR.ZHt8F4p|10-25-1957|     170|JlKSMcgJENetChTKHqPs
  258|XHiulcxkbS|10-28-1916|     179|JlKSMcgJENetChTKHqPs
  284|yQUZS0IPpp|08-31-1984|     152|KvMFf:e9 3:DbI8Nt8cO
  288|k2j3jgu322|03-06-1997|     189|LE AwUk2W96ovkJ vGmL
  172|WllKCvItQU|09-12-1991|     113|MR5pOx29NONtWiNm0C3A
  188|OCeg6L9JPd|08-13-1951|     134|MR5pOx29NONtWiNm0C3A
  164|bqlk0Rm3qg|10-22-1997|     181|N39chuZTj6IevJyOFro6
  165|GW9AzsLVZQ|02-14-1917|     185|N39chuZTj6IevJyOFro6
  206|7nUxv6lq..|03-08-1940|     168|NLGYNNwbWLCLqp1yHhcp
  231|59eNQTF4Hp|03-17-1966|     191|OVILgKUwR074oQf2tvUl
  119|yLW8jNu6xc|10-18-1972|     152|P K98itlnIYnMsP79dHH
  185|MvmLajHtG9|01-29-1975|     154|PyOmQmQuxPxtKJHNMVhP
  153|AnUQcgEYaq|07-27-1995|     139|QsYvPCLW MmLeQUZ0ZN7
  247|jbvfODcaSM|04-29-1968|     167|QsYvPCLW MmLeQUZ0ZN7
  128|Vb8w8bvSF9|02-25-1901|     119|R41ii JL22h5cs:4FiA0
  134|Z6HOBpYN.1|08-30-1916|     116|R41ii JL22h5cs:4FiA0
  140|WGivc:W:D0|02-22-1965|     124|R41ii JL22h5cs:4FiA0
  198|b136bGtDNz|07-26-1960|     186|R41ii JL22h5cs:4FiA0
  271|0na6xhYccB|08-02-1961|     170|R41ii JL22h5cs:4FiA0
  212|pjzph.Qiu2|01-06-1907|     182|RRD1Z:UFJbPO6M7c1mDj
  132|NLXaQF3ylE|07-19-1991|     100|THE+ASAP+BENCHMARKS+
  293|i5fkuOVA5e|12-01-1946|     119|THE+ASAP+BENCHMARKS+
  296|88VnB46IgK|08-27-1926|     130|THE+ASAP+BENCHMARKS+
  116|Kl7SNnOScC|03-09-1922|     175|TYKsRXAmjoVLyRO2MMZm
  154|WaxCJ5J91b|08-24-1977|     194|TYKsRXAmjoVLyRO2MMZm
  269|VICcgiHtCc|10-11-1979|     198|TYKsRXAmjoVLyRO2MMZm
  138|mFZULE8y:Q|06-19-1922|     101|ToTeDWLgXT87SMnABr52
  139|pAYM0zm6mn|03-20-1985|     176|ToTeDWLgXT87SMnABr52
  169|:7LTXp4d.g|03-20-1934|     183|ToTeDWLgXT87SMnABr52
  222|nB3yl2jrE5|02-18-1913|     197|ToTeDWLgXT87SMnABr52
  170|aShXN6NLOH|08-24-1992|     193|UCnfkU:AE5Q5wtz7y1mI
  228|GNupt3AAf2|08-28-1958|     147|UCnfkU:AE5Q5wtz7y1mI
  254|L7Gd05.qZg|06-04-1903|     116|UCnfkU:AE5Q5wtz7y1mI
  265|6jgnxRo6jq|04-06-1909|     154|UCnfkU:AE5Q5wtz7y1mI
  229|50byq7Ti2u|10-11-1993|     142|UnetyVuGwWHK3y1XDWjZ
  109|gixF6V2pPo|01-06-1939|     137|UyVx3uk2SczOroXDn:pX
  115|ImRgBhr7pK|10-13-1913|     143|UyVx3uk2SczOroXDn:pX
  178|F:zySFetMY|05-31-1944|     169|UyVx3uk2SczOroXDn:pX
  276|xhPAFUujyZ|10-14-1944|     173|UyVx3uk2SczOroXDn:pX
  121|KTaJ5U0NdX|10-17-1920|     163|W:5OTMwbSp:LmtI4::f2
  187|O2UI6hYoCz|08-05-1916|     153|W:5OTMwbSp:LmtI4::f2
  202|TqDv7fodnY|11-20-1938|     121|W:5OTMwbSp:LmtI4::f2
  252|:Fh9dBKUm3|05-22-1971|     116|W:5OTMwbSp:LmtI4::f2
  107|tF31q1xexq|11-08-1940|     133|WJu5BNlheJwZrykWK2cm
  135|ahdlXeBe7J|10-26-1985|     112|WJu5BNlheJwZrykWK2cm
  250|.Sa1hDS5xb|03-16-1927|     148|WJu5BNlheJwZrykWK2cm
  126|GHE7k2E423|05-25-1950|     198|XTwP0KJ4:XrKPZUzwjvi
  191|VfIYYkeFJA|07-12-1967|     148|XTwP0KJ4:XrKPZUzwjvi
  235|wBBlqfn:89|04-22-1946|     128|XTwP0KJ4:XrKPZUzwjvi
  275|InsU8dtYme|02-16-1976|     103|XTwP0KJ4:XrKPZUzwjvi
  192|BHzL0IeHEj|11-06-1974|     164|Xj:BmJUwN705kUt:KNyx
  256|xAPwpJM.D0|11-05-1953|     144|Xj:BmJUwN705kUt:KNyx
  285|.pxY57ugtY|03-20-1954|     180|Xj:BmJUwN705kUt:KNyx
  175|SMWlP4BMwc|07-15-1958|     193|ZFpLVBLW3qImaUC7RsrJ
  182|q7bIlF:Lml|11-15-1921|     151|ZFpLVBLW3qImaUC7RsrJ
  283|TbdxiczL04|08-17-1988|     103|ZFpLVBLW3qImaUC7RsrJ
  173|prs3.T6Non|11-24-1974|     124|ZqgZDCA5nK ZfZeX6No1
  177|HFFkBHn1bT|06-19-1939|     155|ZqgZDCA5nK ZfZeX6No1
  221|xqE.GxwXnb|02-15-1927|     134|ZqgZDCA5nK ZfZeX6No1
  257|FpNPxm9JT.|03-31-1952|     176|ZqgZDCA5nK ZfZeX6No1
  259|Ra1jWRDtpV|07-19-1993|     105|ZqgZDCA5nK ZfZeX6No1
  101|1kL47Our1h|09-19-1947|     187|aqyJzGDSSrFYE16W7Jmo
  201|ucUReH5.2D|11-12-1937|     182|aqyJzGDSSrFYE16W7Jmo
  209|jNIucOOJ4V|05-11-1997|     170|aqyJzGDSSrFYE16W7Jmo
  242|LtwPSHzi5t|01-10-1927|     136|b005recHo bJd4Hzjy9k
  251|0jA4Iv91Nh|06-27-1927|     169|b005recHo bJd4Hzjy9k
  142|u23Tipsv8l|11-30-1909|     102|bERK fxn ZyxibJtUT32
  213|3bNqsWDHp:|04-15-1986|     102|bERK fxn ZyxibJtUT32
  161|QXESG:pOQL|02-11-1917|     191|cMiTC90SAeuH10MvEOfA
  230|Lc.Gcv8IW0|01-14-1997|     139|cMiTC90SAeuH10MvEOfA
  145|vrUagrPhO:|05-10-1942|     137|cuegQ15JW5wB5Cvfx4fY
  287|HuV8xONkSA|10-14-1936|     112|cuegQ15JW5wB5Cvfx4fY
  214|N8uKCWsKZ1|02-05-1972|     143|dbBUj5NNNMGG8Azs3yUN
  158|cq8k25UEo2|04-14-1921|     155|elDHB0mCj2BX4cDUhGHk
  216|SGybJTl:b4|06-27-1950|     184|elDHB0mCj2BX4cDUhGHk
  219|20S8u6sMY.|12-15-1922|     150|f1wCSPs: 7 BQepGJprh
  264|y4:Aq9dvUu|05-10-1947|     176|hB70ki8f Kf:lja 3phK
  104|mDbG21pqtm|02-27-1982|     173|iL nCF501zaqJKKcH7ZG
  151|LNU.xXmJmg|07-03-1925|     186|ibI uEHUj:jcEFji4B6V
  100|MEDjZyy2jM|06-15-1905|     121|jVBA2d2pwH2AimvftLMd
  127|XBqEmFO1AT|11-28-1982|     187|joFonGYyapZGgDnUA8ml
  189|eR:lS0M9B1|02-26-1936|     143|kiPxm6t1ImO::k0AOctz
  205|W0yYdutrg2|04-25-1941|     125|kiPxm6t1ImO::k0AOctz
  280|E2cQ880U.I|06-05-1985|     168|kiPxm6t1ImO::k0AOctz
  122|LGC5clq5dv|12-30-1993|     149|m4T65yqE IEb4npgF9yR
  194|pbpm8fio49|02-16-1992|     165|m4T65yqE IEb4npgF9yR
  278|kFAJXhjBnV|04-11-1943|     108|m4T65yqE IEb4npgF9yR
  244|JbxzqfjqLT|07-03-1913|     183|nOBuosIqsny:tLucbv9H
  260|PT5CP.aZOd|04-11-1953|     106|nOBuosIqsny:tLucbv9H
  166|eJtuH85uQx|03-02-1950|     197|neKgarTkAtARoGSiVzBx
  233|VQZ051MIDn|05-10-1977|     192|neKgarTkAtARoGSiVzBx
  249|QXpe:4CkAS|08-31-1954|     178|neKgarTkAtARoGSiVzBx
  162|hlPtWCkCzl|10-08-1987|     194|od2UUQ4K:VK8Wsa:X9ov
  171|4q5sUxvV7m|07-16-1991|     139|od2UUQ4K:VK8Wsa:X9ov
  176|vUe5xd42hp|12-26-1910|     183|ooMzyOs:3b3cMi6KbHUt
  223|GSu98J5CwO|04-11-1968|     125|pCg09nF0IkobqOjHyreA
  225|vVneoJo.lt|12-08-1945|     149|qvTQqh8f3oB hnoDTHKW
  131|bZ6CGmyYJG|05-04-1995|     179|r:VDIE50W55qFOYg:V6S
  152|iKFZMVI6sh|10-01-1995|     192|rJnRWFRaIxT8KT0AKR0D
  186|fXDAmVPZlh|01-07-1980|     131|rJnRWFRaIxT8KT0AKR0D
  294|P38ic85iq.|08-21-1993|     189|rJnRWFRaIxT8KT0AKR0D
  193|UCnfkU:AE5|11-27-1934|     129|tg62a6iAWJcNATJ:rwtw
  248|f7tsUwL8Ug|06-05-1935|     111|tg62a6iAWJcNATJ:rwtw
  108|IU:74FseaH|08-13-1981|     198|uFiAKZRPa8gQZPSHRIjB
  184|6MVjIe1rca|02-11-1927|     191|uFiAKZRPa8gQZPSHRIjB
  227|17roGg6HnB|12-12-1988|     165|v RJJqMsI22ItW T:MPP
  281|7m1d.NXSxN|11-19-1909|     106|v RJJqMsI22ItW T:MPP
  239|WJPw5deZIj|04-18-1977|     114|vv132pXmxAD2NR8ZTrS9
  208|tdrTApuYw0|09-16-1997|     191|wMpycs7V KLNUUDAej:E
  224|ZD6XLdlmet|06-27-1973|     149|wMpycs7V KLNUUDAej:E
  299|EZlC7w5It7|04-22-1938|     167|wMpycs7V KLNUUDAej:E
  157|peBOE:kTQV|05-28-1924|     129|wcykurIqoQU pPcgYncu
  220|bxovRwN.Nq|10-11-1978|     145|wcykurIqoQU pPcgYncu
  197|gKgTRmFILE|10-03-1946|     140|y3MY6enBAcn2Bty2ge9n
  210|5wmI0jN4WA|12-14-1908|     131|y3MY6enBAcn2Bty2ge9n
  163|F9TARRNzR.|02-07-1921|     151|ygeGLfcHs4EjhyZvR 28
  273|.BudpOlYbp|04-11-1934|     108|ygeGLfcHs4EjhyZvR 28
  277|3BePwC.y9Q|07-11-1988|     135|ygeGLfcHs4EjhyZvR 28
  120|e8me4KHMGR|07-26-1947|     111|ztbvehtljmvNIw7BW3KT
  263|55qFfT8bxK|11-27-1953|     136|ztbvehtljmvNIw7BW3KT
(201 rows)


----------

-- oltp_read_select_03
-- single fixed row select on an indexed int field
-- uses: tenpct
-- might use index on: tenpct.t_key
-- returns 1 row

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenpct
	where t_key = 1001;
t_key|t_int|t_signed|t_double|t_code|t_name
-----+-----+--------+--------+------+------
(0 rows)


----------

-- oltp_read_select_04
-- single fixed row select on an indexed text field
-- uses: updates
-- might use index on: updates.p_code
-- returns 1 row

select p_key, p_int, p_signed, p_double, p_code, p_name
	from updates
	where p_code = 'BENCHMARKS';
p_key|p_int|  p_signed| p_double|p_code    |p_name              
-----+-----+----------+---------+----------+--------------------
 2072| 2072|-380888089|172058419|BENCHMARKS|VK2qWSw2OGFc1dNkoNMp
(1 row)


----------

-- oltp_read_select_05
-- single table contiguous range select on an indexed int field
-- uses: updates
-- might use index on: updates.p_key
-- returns 100 rows

select p_key, p_int, p_signed, p_double, p_code, p_name
	from updates
	where p_key <= 100;
p_key|p_int|  p_signed|  p_double|p_code    |p_name              
-----+-----+----------+----------+----------+--------------------
    0|    0|  10151015| 333443800|1IUo6GWfo4|KQYicrnT8iz8vjp6XbG5
    2|    2|  82358236|-503580546|nhoqjD3GkC|WFJ1hf4uaH4uZxynY26J
    3|    3| 133163316|-522564154|ll.GPOVC3j| rnDyn0ogVOyDsjc5DYF
    4|    4| 344084408|    951369|u6jbndLs1i|psUIPobU7JiZAlJXM8z9
    5|    5|-463696370|-183985689|ARG9.ervyR|a3CrwL8Xyw2LK:1Ukvpc
    6|    6| -20652065| 236212405|hWAv1TSFtX|EjCaxfNrVL:jgOvgzgem
    7|    7| 286978698|-263756768|IONjevXsuP|2gb0dgf9WfJV:LvqQOg 
    8|    8|  25152515| -65695592|YhZT4KOx:N|WddKjK8g2QH03aQ3j3Aw
    9|    9| 203370337| 462693404|dWQbcHhFQZ|98GZAf:BKYto7CjSTk:j
   10|   10| 421692169| 284447548|bkt11VDmqh|FvWGzAMQIX55ZLrRYv n
   11|   11|-284778478| 640147293|uZa.c5n3w.|l0MvqnabrP1X78Qiiixe
   12|   12|-155165517|   2701913|luD8oYs03X|Cg PSjCaFZ9rwbh:OHat
   13|   13| 117661766|-195173319|Fc6c4yLPwi|lIk9Tm6LlL1TSQ0B7 pq
   14|   14|-283778378| 178530156|r6iWDQd70.|C7RyXKBZU5C2yOHY6EdI
   15|   15|-444794479|  34819861|Cy2jIQkgux|vWhyDZB6TfFP9 1PydwX
   16|   16| -92159216| 264534053|tHdB9MAVo4|RA4JGuUpOpFEeoHmDQpR
   17|   17| 354685469| -71003641|Nufyle593b|EG4PYKPdQvKpiXnUJGHy
   18|   18| 274777478|-217506360|t82VN9LRvn|70N7k5oTecGCkyzlctUW
   19|   19| -42454245| -30074074|:s1RT8taF0|1Pr9N9JLx9D68VnA7aeg
   20|   20|-315381538|-289200031|Xcn9W7yjfM|6qPSVc892btDvBYd0ZU3
   21|   21|-204570457| 203383101|DTpl1xgzar|iavgFAcvvul5Dgne2sWS
   22|   22|-410991099| 206344349|wITofRjmhq|jPsOsC:KMIX2QmlspWrB
   23|   23|  41254125| 248450189|nGaO3TmbrQ|12rYpXnX4sk4lwyCyPwi
   24|   24|   1550155|-443943836|GgPDLUoaiX|xuK24v85VCsev:gsaXvn
   25|   25|-268176818| -73038839|Ho7OySf1sB|tTvPcV4CYLImuaO4J9Vi
   26|   26|-495099510|-220169522|ZUjpeYsq0f|x1MZuBnWdJAYJ:dhHX4k
   27|   27| 322482248|  42877117|DWSvDJoVJA|8YJqK zQvL8xkIQ0jZNg
   28|   28|-495999600| 463422349|JwCRxmk3Va|DzBdY yOFxeHw1cdF6ZX
   29|   29|-254875488| -92392235|TXSs7ju9ZC|c z0jLOI5t0j2Lf9vdZ8
   30|   30| 325982598|  59476261|FaEulN6hkD|dOp3pjKWp68QYjltcfGo
   31|   31| 204570457|-340337848|NQrvUHj6Hr|OmbaV5 sYlOaDV1zWE9F
   32|   32| 434993499|-702603995|cvGtavAQgZ|6g0fXD0vjAhqoUGQmI8:
   33|   33| 343184318| 339626356|2jGh4ilICN|DaugNLU3oic8iMGhOHXS
   34|   34| -72157216|-239520792|WCMlf9cVl:|G5Hy1GZ4OIy:hX AzbDG
   35|   35| 427192719| 215348669|6UQuuWICpv|5EJs7HKhr5PHxQfPVs2O
   36|   36| 253575358|-263202619|7s6.0Vx3X8|sHbja06dFalYadSqkP0G
   37|   37|  57055706|-489975265|69vZP5hvm6|aUgAFtKRpTOb IevpOAV
   38|   38|-122162216| -72255688|1lUDUvgV9l|ztWHI23RI1GZPRlgEa0B
   39|   39| 380488049| 420116870|thQUpboaKU|piHk06sYzxUpl5LkKF:K
   40|   40| 300880088|-531815758|rSrIVqoXIF|Cu :lqV424EKUpK2OY3r
   41|   41| 145864586| 179163645|E619OIj6LN|KH:C3eeXNADZa1nTWysL
   42|   42|-135863586|-238380350|EFIWJhkD5k|TJBWFY:j RaBsIBW7HI5
   43|   43|-314481448|-259238262|aFHWRR5kV8|sgQVg8Nvn4Tqj:QOTzxw
   44|   44|-371187119|   -646932|NnxLHjFPOP|UHR20ncrQQ7H25wCViKF
   45|   45| 218771877|   -342495|10xEZHZ0Ta|3eZXRfyppOsh5OXkYqPJ
   46|   46| 293079308| 760019753|ve7yDQOp5a|6tcv44aEqy8mePe:CGkT
   47|   47|-151965197| -47494467|OjO7Oc7MeU|Xyi7XIwYxZPhQ7ad0sjh
   48|   48| 307180718|-360611264|FbhFXz6PjV|hqNOap9UQy10hjlk7KZG
   49|   49| 235273527|-170452716|VLveMckYxY|elS 9chLuc8CxUBBLMDA
   50|   50| 367986799| 274114838|fT7EWXHUCF|tcimkIcUswZTqof0n16c
   51|   51| 217371737|-736404491|NnOorNzeyP|lYnoV1sL6ZdegCSbXsZ1
   52|   52|-160166017|-114249098|xlGe7KBFVu|WSTn3nArjXf3rsVz C E
   53|   53| 168866887| -54132119|D6ozUJORCa|U4rbzU9EL6xIo5la2Yyd
   54|   54|-250575058| 726748728|aW0irtsmay|ymn7nZPohutoROUQLWDi
   55|   55|-454795480| 120810718|MiKWc5pBUo|cdjW1715vd8UA8wyTWlD
   56|   56| 120362036|-291965003|1nrjWQ02gP|Lpqu6JrduR:3Ng4cxewE
   57|   57|-206270627| 108713416|o7BCq43xfI|zrEu952hr6ex0VZ6q:Q5
   58|   58|-207470747|-101361045|GrWwWVQzU4|3sZhKmlLfRya252gYbLi
   59|   59| 468296830|  30992005|w.XU5dz.6b|HwoMiz4s9f9u7QyXhA1p
   60|   60|-305980598| 535730424|MGpc5kKiMC|y0nngAdK6WZhq5yMLH g
   61|   61| 491399140|  27169060|FanRBJJSAD|YXIrJHmMrhIwW2vj8cMd
   62|   62| 345284528|-297323022|x.35aghaqp|k0pHTwa9Sjigb5wEOrx1
   63|   63| -96159616| -38729979|q3I003qDaG|s24NnFpAXIC nVJxSW7X
   64|   64|-166866687| 171076588|4hHTtUthIf|uQEg0o6pMr8mDCjUMtL9
   65|   65|-268476848|  -8487274|Zv.oieobkx|ll GPOVC3jLZl0a QFi1
   66|   66|-231173117| 104343074|HHX7lgNfzQ|v5FckcYkILFAQsdPa9nP
   67|   67| 383188319| 150071131|beDjsvHHGi|od2UUQ4K:VK8Wsa:X9ov
   68|   68|-297579758|-253588575|IVv1AeAen0|gZaxaCMckZuoMGNgcWKN
   69|   69| -97159716| -60951001|q6vwCg1u5K|EzoIS9S0OESENp2Td0VX
   70|   70|  68656866|  62893644|r5VorwMkgN|sn48u93eBg5gpHg2SFcZ
   71|   71| 220972097| 357248031|GnQ1bXIum1|4GKZi5jYemRVnET8DS9M
   72|   72| 484798480| 437410553|qIVqe97ac9|HLiG5qMDcel27zyQX9bi
   73|   73|-233373337| 108307822|3ILbtRikX2|SX R58lV4NCRLbAF481k
   74|   74|  43454345|-600509294|QlcLVLi432|OTq6vAgoFVgZmLE1vwYo
   75|   75|-435293529|-260884681|cE8qZeRYIH|4pjzFTPwJBRAQEUyrp A
   76|   76|-160566057|-485833241|lTc78wb848|iInl4L0UgCVh159G9QEp
   77|   77|-264076408| 401885750|6q9KtkYHGI|f3:kjweDecSt8ExHO4E2
   78|   78|  -4550455|-578543532|ptePJs7yFK|N8uKCWsKZ1ZJNt8nzWGH
   79|   79|-477197720| 112454080|NB7mn5qb8d|gxZGcIOuEd:TOPFvSWoZ
   80|   80| 317781778|  95425824|oZcBBkcqro|dEKwTCmesvVRxJ2TqNT2
   81|   81|-217971797| 523568365|V3hHpH7:Ez|L9hRWYBLW s7PbQxxJHL
   82|   82|-103060306| 465379353|1wMC::kHq8|XQSFrYB VidN28hKRC4G
   83|   83|-455895590|-301278548|eWDBdSPOoO|N1TGOmA LsRJCTlA:jrY
   84|   84| 465396540|-295974894|qy.yPvsn37|HAburpkKv:El2cPHKYNz
   85|   85|-227772777| -32063283|VbjXkyk8vg|YM2DX12VP2MFH26Ih8F5
   86|   86| 166866687| 527987394|Jt6e9keRky|UGIphVTK6xoWtBn0gUvu
   87|   87|-221772177|-721544206|q0jOdXgM52|f44euoosi2mwUj5fedBI
   88|   88| 369686969| 137303955|DxjUHvJGZs|:kQOKDKgN7FN9br2xWi3
   89|   89|  14351435| 312171117|FEmqQowIs9|41CYaafE1Nd Q3qCcA:l
   90|   90| 227872787| 239832408|vXbmZJV04x|10BsvTQTuRFKxR d:7N:
   91|   91|-163566357|-379125443|TpJbiv0FEG|s8OqT rgm ni5dVS3dtP
   92|   92| 437093709|-199684847|lTGeDAILX9|ynf7bH52w:Cl0B29UJTs
   93|   93|-365586559|  80898011|Fuwy4EKVL8|Be:cnKA0lHJIE3XY2pR6
   94|   94| 496799680| 153779430|UzuRWofgWU|z:8IQXagSYvPm1oBGsZd
   95|   95|-282678268| 213786235|8Qzs1zczIi|Y37aa4sYv1rPhA0oc8cx
   96|   96| 260976098| 146898078|9d5xTwhjLF|Sl2WJJ6SoW0yYTXmEF92
   97|   97| 159165917|-257817495|g2.cXGWznE| mnuM:8LvBteh4whH0Dq
   98|   98|  12051205| 134108585|B1id3FNpWG|GLKz zMbe7YjbX7n8HB9
   99|   99| 222572257| 122955279|qv0lxtmdqV|2PclniLE3MDR77q1dbJn
  100|  100| 158165817| 348290814|MEDjZyy2jM|RSt5xRvHcMyaXWU1jXkU
(100 rows)


----------

-- oltp_read_select_06 (randbase)
-- single random row select on an indexed int field
-- uses: updates
-- might use index on: updates.p_int
-- returns 1 row

select p_key, p_int, p_signed, p_double, p_code, p_name
	from updates
	where p_int = 100;
p_key|p_int| p_signed| p_double|p_code    |p_name              
-----+-----+---------+---------+----------+--------------------
  100|  100|158165817|348290814|MEDjZyy2jM|RSt5xRvHcMyaXWU1jXkU
(1 row)


----------

-- oltp_read_select_07
-- single table contiguous range select on an indexed int field
-- uses: uniques
-- might use index on: uniques.u_key
-- returns 1 row

select u_key, u_int, u_signed, u_double, u_code, u_name
	from uniques
	where u_key <= 1000;
u_key|u_int|u_signed|u_double|u_code    |u_name              
-----+-----+--------+--------+----------+--------------------
    0|    0|-6950695|39113658|yLFWGVOgCJ|WJPw5deZIjfCJEaMCXYE
(1 row)


----------

-- oltp_read_select_08 (randbillion)
-- single table multiple index range select on an indexed character field and indexed int field
-- uses: tenpct
-- might use index on: tenpct.t_name, tenpct.t_key
-- returns ~1 rows (depends on random input)

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenpct
	where t_name = 'THE+ASAP+BENCHMARKS+'
		and (t_key between 100 and 100+10000);
t_key|t_int|t_signed|t_double|t_code|t_name
-----+-----+--------+--------+------+------
(0 rows)


----------

-- oltp_read_select_09
-- single single row select from a single table on an indexed float field
-- uses: tenpct
-- might use index on: tenpct.t_signed
-- returns 1 row (the minimum t_signed value in the table)

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenpct
	where t_signed <= -500000000;
    t_key|    t_int|  t_signed| t_double|t_code    |t_name              
---------+---------+----------+---------+----------+--------------------
764476448|764476448|-500000000|611611612|6PSYKkuqxi|IxoaaLz5210TNASUk18n
(1 row)


----------

-- oltp_read_select_10
-- single table contiguous range select on an indexed float field, order by an indexed int field
-- uses: tenthou
-- might use index on: tenthou.t_signed, tenthou.t_key
-- returns 2.5% of the rows (250 rows)

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenthou
	where t_signed <= -475000000
	order by t_key;
    t_key|    t_int|  t_signed|   t_double|t_code    |t_name              
---------+---------+----------+-----------+----------+--------------------
212121213|212121213|-500000000|  111111111|jVBA2d2pwH|                    
606060606|606060606|-489898990| -555555556|N39chuZTj6|vTmaatdlASn0qJc:RsHq
676767677|676767677|-479797980|-1000000000|9qnEpk0dj6|BQkaa1nzFkaAtSRkZJrS
(3 rows)


----------

-- oltp_read_select_11
-- index scan (row doesn't exist in index)
-- uses: twomill
-- might use index on: twomill.p_key
-- returns 0 rows

select p_key, p_int, p_signed, p_double, p_code, p_name
	from twomill
	where p_key = 1;
p_key|p_int|p_signed|p_double|p_code|p_name
-----+-----+--------+--------+------+------
(0 rows)


----------

-- oltp_read_select_12
-- single table multiple index range select on an indexed character field and indexed float field
-- uses: tenpct
-- might use index on: tenpct.t_name, tenpct.t_signed
-- returns 0.01% of rows (108 rows)

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenpct
	where t_name like 'THE+%'
		and t_signed > 499000000
	order by t_key;
t_key|t_int|t_signed|t_double|t_code|t_name
-----+-----+--------+--------+------+------
(0 rows)


----------

-- oltp_read_select_13
-- single table range select and ordering on an indexed date field
-- uses: tenpct
-- might use index on: tenpct.t_date
-- returns ~0.05% of rows (~500 rows, or actually 439 rows)

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenpct
	where t_date > '12/15/1999'
	order by t_date;
    t_key|    t_int|  t_signed|  t_double|t_code    |t_name              
---------+---------+----------+----------+----------+--------------------
269026903|269026903| 124762476| -81081081|cqps7U03Cu|40qaaEpOwdhNlXCJCdvK
702970297|702970297|-475597560|-845845846|4qsfzl8461|IxoaaLz5210TNASUk18n
941394139|941394139| 473897390| 177177177|xwJeuL2CWO|P7saa6EArLThIOt:1lLi
514851486|514851486|  12151215| 927927928|h8Ps1XYbac|hGeaarLDVQZt1NAkQQn1
787778778|787778778| 134063406| 437437437|D7EYYVkCSR|oniaacXhlBTGV3bUbB1v
(5 rows)


----------

-- oltp_read_select_14
-- single table range select on an indexed date field
-- uses: tenpct
-- might use index on: tenpct.t_date
-- returns 328 rows

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenpct
	where t_date between '01/10/1942 and '01/21/1942'
	order by t_key;

----------

-- oltp_read_select_15
-- tablescan on an unindexed character field (row doesn't exist) -- will cause full tablescan
-- uses: uniques
-- no index used
-- returns 0 rows

select u_key, u_int, u_signed, u_double, u_code, u_name
	from uniques
	where u_name = 'xxxxxxxxxx';
ERROR:  parser: parse error at or near "01"

----------

-- oltp_read_select_16
-- multiple row select from a single table on an indexed int field, sort on unindexed character and indexed float fields
-- uses: hunthou
-- might use index on: hunthou.h_address (this field deliberately not indexed), hunthou.h_signed
-- returns 100 rows

select distinct h_signed, h_address
	from hunthou
	where hunthou.h_signed = 100
	order by h_address;
h_signed|h_address                        
--------+---------------------------------
     100|4CHOaB2Ht9qH:                    
     100|4eyYaxVvmEji ywZbhZ0WhcW2U7zY    
     100|aP7saF6EArZThIOe:                
     100|e4TwaJ:BodCaPLZXGIhorVx          
     100|gRGtarSJyz2VtTVMFC               
     100|h3Xmak:GARK                      
     100|iIk0aNb:2vmmXOElOwCQjaHppz4K2Ktb1
     100|n7AnaVULyZm                      
     100|ywrKa8YKF                        
(9 rows)


----------

-- oltp_read_select_17
-- multiple row select and sort from a single table on an indexed fixed precision numeric field
-- uses: tenthou
-- might use index on: tenthou.t_decim
-- returns 10% of rows (1000 rows)

select distinct t_decim
	from tenthou
	order by t_decim;
         t_decim
----------------
-1000000000.0000
 -777777778.0000
 -555555556.0000
 -333333333.0000
 -111111111.0000
  111111111.0000
  333333333.0000
  555555556.0000
  777777778.0000
 1000000000.0000
(10 rows)


----------

-- oltp_read_select_18
-- single table range select on an indexed int field, sort on an indexed character field
-- uses: tenthou
-- might use index on: tenthou.t_signed, tenthou.t_name
-- returns 1% of rows (100 rows)

select t_key, t_int, t_signed, t_double, t_code, t_name
	from tenthou
	where t_signed <= -490000000
	order by t_name, t_key;
    t_key|    t_int|  t_signed| t_double|t_code    |t_name              
---------+---------+----------+---------+----------+--------------------
212121213|212121213|-500000000|111111111|jVBA2d2pwH|                    
(1 row)


----------
----------

-- oltp_read_join_01 (randbase)
-- single random row select on an indexed int field, two table equality join on unique indexed int fields
-- uses: updates, hundred
-- might use index on: updates.p_key, hundred.h_key
-- returns 1 row

select updates.p_key, updates.p_code, hundred.h_date, hundred.h_signed, hundred.h_name, hundred.h_address
	from updates, hundred
	where updates.p_key = 100
		and updates.p_key = hundred.h_key;
p_key|p_code    |    h_date|h_signed|h_name              |h_address           
-----+----------+----------+--------+--------------------+--------------------
  100|MEDjZyy2jM|06-15-1905|     121|jVBA2d2pwH2AimvftLMd|vWnUa6YFt8:1rPHsgF3s
(1 row)


----------

-- oltp_read_join_02 (randtwomill)
-- single random row select on an indexed int field, two table equality join on indexed character fields
-- uses: twomill, uniques
-- might use index on: twomill.p_key, twomill.p_code, uniques.u_code
-- returns ~0 rows

select twomill.p_key, twomill.p_code, uniques.u_date, uniques.u_signed, uniques.u_name
	from twomill, uniques
	where twomill.p_key = 100
		and twomill.p_code = uniques.u_code;
p_key|p_code|u_date|u_signed|u_name
-----+------+------+--------+------
(0 rows)


----------

-- oltp_read_join_03 (randfivemill1, randfivemill2, randfivemill3, randfivemill4, randfivemill5)
-- single table random in (group) select, two table equality join on indexed int fields, order by on an indexed character field
-- uses: fivemill, updates
-- might use index on: fivemill.h_key, fivemill.h_code, updates.p_key
-- returns between 0-5 rows

select fivemill.h_key, fivemill.h_code, updates.p_date, updates.p_signed, updates.p_name
	from fivemill, updates
	where fivemill.h_key in (100,200,300,400,500)
	and fivemill.h_key = updates.p_key
	order by fivemill.h_code;
h_key|h_code    |    p_date|  p_signed|p_name              
-----+----------+----------+----------+--------------------
  300|1Aq2xnSAKv|05-25-1973| 174667467|Chpsq3Cc8EGdQl8X7SG9
  500|5B5R03oyO9|05-21-1984|-331283128|nluL9BDmSeX5spHwe4wt
  100|HgHECwAl08|06-15-1905| 158165817|RSt5xRvHcMyaXWU1jXkU
  200|MKtfw2z8mJ|02-26-1940|-426692669|RqthadFXr6yggj4AewAY
  400|SHjsOG65zR|01-13-1907|-168066807|2Ye:4dkOZCs DLgJqC0g
(5 rows)


----------

-- oltp_read_join_04 (randbase)
-- contiguous range select on an indexed int field, two table equality join on indexed int fields, dual sort on indexed character field, indexed date field
-- uses: updates, hundred
-- might use index on: updates.p_key, updates.p_code, hundred.h_key, hundred.h_date
-- returns 21 rows

select updates.p_key, updates.p_code,
		hundred.h_date, hundred.h_signed, hundred.h_name, hundred.h_address
	from updates, hundred
	where (hundred.h_key between 100 and 100+20)
		and updates.p_key = hundred.h_key
	order by updates.p_code, hundred.h_date;
p_key|p_code    |    h_date|h_signed|h_name              |h_address                                                                
-----+----------+----------+--------+--------------------+-------------------------------------------------------------------------
  118|.9bbIuItMy|06-19-1942|     149|D8gzIy29RlrS1e iCKyU|aP7saF6EArZThIOe:                                                        
  101|1kL47Our1h|09-19-1947|     187|aqyJzGDSSrFYE16W7Jmo|k23c                                                                     
  111|:mCCUBlQf2|10-14-1947|     119|10iM4 9rIz1KD2O1I4Ax|cDafa                                                                    
  105|B3G7w.i00z|08-17-1923|     141|Ce5PJBA5jo40b7s4UgRG|gtx6agNxr:uwTGIwP4ZHi8E5AuIWQeF0Y4FCG8QVv4IEpoN23                        
  114|GFmpZQwTpx|06-26-1924|     164|GEYVKnQu2m1SOFZJv6DD|ezS                                                                      
  110|IMOaM:1mTD|03-27-1933|     177|6T61fSdd2kTgw8EpWS6q|xmaRaEMN6uxQvXDh                                                         
  108|IU:74FseaH|08-13-1981|     198|uFiAKZRPa8gQZPSHRIjB|n4qC                                                                     
  115|ImRgBhr7pK|10-13-1913|     143|UyVx3uk2SczOroXDn:pX|ulLrapR2raWPpsa                                                          
  113|JEEBaVoul5|04-08-1959|     133|HeD2UJ0dfA9VHcCsvPZO|20G a7jyDMZ67NBexGkOAZgPTTovMzpybnYU7DfxVvaUsViExGvV7AIrCdqjVELpvljxIFrtJ
  116|Kl7SNnOScC|03-09-1922|     175|TYKsRXAmjoVLyRO2MMZm|6ojsaqcSU5YSbdlPL                                                        
  100|MEDjZyy2jM|06-15-1905|     121|jVBA2d2pwH2AimvftLMd|vWnUa6YFt8:1rPHsgF3s                                                     
  117|Mc6Y270new|08-23-1916|     140|AXu4GdgJIkHSGdFGqXmg|w:NDa                                                                    
  102|SYXRQMyCLz|03-13-1986|     136|2MwdN0x526oj2zTWeShn|t8                                                                       
  120|e8me4KHMGR|07-26-1947|     111|ztbvehtljmvNIw7BW3KT|yzs:aiOFyyY4Xi8PDtHjTd6r9KWQenWpEg12VQGEdeBE qsdkQ2JoEtfmqU5VRV1bA3s     
  106|flqn3zGosI|03-13-1963|     190|BBWp:aE9DYCDfEqJ3F:c|:cLEa                                                                    
  109|gixF6V2pPo|01-06-1939|     137|UyVx3uk2SczOroXDn:pX|n4qC                                                                     
  104|mDbG21pqtm|02-27-1982|     173|iL nCF501zaqJKKcH7ZG|lJ90ad4rhJnn7ui:BkfwwwQnecupDxlkx7                                       
  103|oh1VdCwstq|12-27-1982|     178|9qnEpk0dj6cVL8uo7xwC|dsC6aQSEFltvNbfB5iXc2H38Llrsiynr4vHJ9KSdClkU4iX                          
  112|pZQ26KDLTC|04-30-1998|     117|4bPeuYKXigai9  t24W0|vy79aSTtmeX2RC13q:fDhnTtJB:m3A9gi:4Bo7isrSCUMk4B60b88i7Zv6zqv9 g         
  107|tF31q1xexq|11-08-1940|     133|WJu5BNlheJwZrykWK2cm|xmaRaEMN6uxQvXDh                                                         
  119|yLW8jNu6xc|10-18-1972|     152|P K98itlnIYnMsP79dHH|lG7Faz                                                                   
(21 rows)


----------

-- oltp_read_join_05
-- multiple table range select on indexed int fields, two table inequality join on indexed int fields
-- uses: uniques, tenpct
-- might use index on: uniques.u_key, tenpct.t_key
-- returns 11 rows

select uniques.u_key, uniques.u_name, tenpct.t_key, tenpct.t_signed
	from uniques, tenpct
	where uniques.u_key >= 1000000000
		and tenpct.t_int <= uniques.u_int
		and tenpct.t_key >= 999990000;
     u_key|u_name              |     t_key| t_signed
----------+--------------------+----------+---------
1000000000| XX2Jezr1GiXMAufufhe|1000000000|320882088
(1 row)


----------

-- oltp_read_join_06
-- multiple row select from a single table on an indexed character field; two table equality join on indexed int fields; sort on indexed float field (uniques.u_signed), unindexed character field (uniques.u_name), unindexed int field (fourram.p_signed), unindexed character field (fourram.p_name)
-- uses: uniques, fourram
-- might use index on: uniques.u_key, uniques.u_code, fourram.p_key
-- returns 2 rows

select distinct uniques.u_signed, uniques.u_name, fourram.p_signed, fourram.p_name
	from uniques, fourram
	where uniques.u_key = fourram.p_key
		and uniques.u_code like 'AA%';
u_signed|u_name|p_signed|p_name
--------+------+--------+------
(0 rows)


----------

-- oltp_read_join_07
-- single row select on an indexed int field, two table equality join on indexed int fields
-- uses: uniques, hundred
-- might use index on: uniques.u_key (x2), hundred.h_key
-- returns 1 row

select uniques.u_signed, uniques.u_name, hundred.h_signed, hundred.h_name
	from uniques, hundred
	where uniques.u_key = hundred.h_key
		and uniques.u_key = 1001;
u_signed|u_name|h_signed|h_name
--------+------+--------+------
(0 rows)


----------

-- oltp_read_join_08
-- single row select on an indexed character field, two table equality join on indexed character fields
-- uses: uniques, hundred
-- might use index on: uniques.u_code (x2), hundred.h_code
-- returns 1 row

select uniques.u_signed, uniques.u_name, hundred.h_signed, hundred.h_name
	from uniques, hundred
	where uniques.u_code = hundred.h_code
		and uniques.u_code = 'BENCHMARKS';
  u_signed|u_name              |h_signed|h_name              
----------+--------------------+--------+--------------------
-380888089|VK2qWSw2OGFc1dNkoNMp|     173|UCnfkU:AE5Q5wtz7y1mI
(1 row)


----------

-- oltp_read_join_09
-- single row select on an indexed integer field, three table equality join on indexed integer fields
-- uses: uniques, hundred, tenpct
-- might use index on: uniques.u_key (x2), hundred.h_key, tenpct.t_key
-- returns 1 row

select uniques.u_signed, uniques.u_date, hundred.h_signed, hundred.h_date, tenpct.t_signed, tenpct.t_date
	from uniques, hundred, tenpct
	where uniques.u_key = hundred.h_key
		and uniques.u_key = tenpct.t_key
		and uniques.u_key = 1001;
u_signed|u_date|h_signed|h_date|t_signed|t_date
--------+------+--------+------+--------+------
(0 rows)


----------

-- oltp_read_join_10
-- single row select on an indexed character field, three table equality join on indexed character fields
-- uses: uniques, hundred, tenpct
-- might use index on: uniques.u_code (x2), hundred.h_code, tenpct.t_code
-- returns 1 row

select uniques.u_signed, uniques.u_date, hundred.h_signed, hundred.h_date, tenpct.t_signed, tenpct.t_date
	from uniques, hundred, tenpct
	where uniques.u_code = hundred.h_code
		and uniques.u_code = tenpct.t_code
		and uniques.u_code = 'BENCHMARKS';
  u_signed|    u_date|h_signed|    h_date|  t_signed|    t_date
----------+----------+--------+----------+----------+----------
-380888089|02-22-1907|     173|02-22-1907|-318881888|02-22-1907
(1 row)


----------

-- oltp_read_join_11
-- single row select on an indexed int field, four table equality join on indexed int fields
-- uses: uniques, hundred, tenpct, updates
-- might use index on: uniques.u_key (x2), hundred.h_key, tenpct.t_key, updates.p_key
-- returns 1 row

select uniques.u_date, hundred.h_date, tenpct.t_date, updates.p_date
	from uniques, hundred, tenpct, updates
	where uniques.u_key = hundred.h_key
		and uniques.u_key = tenpct.t_key
		and uniques.u_key = updates.p_key
		and uniques.u_key = 1001;
u_date|h_date|t_date|p_date
------+------+------+------
(0 rows)


----------

-- oltp_read_join_12
-- single row select on an indexed character field, four table equality join on indexed character fields
-- uses: uniques, hundred, tenpct, updates
-- might use index on: uniques.u_code (x2), hundred.h_code, tenpct.t_code, updates.p_code
-- returns 1 row

select uniques.u_date, hundred.h_date, tenpct.t_date, updates.p_date
	from uniques, hundred, tenpct, updates
	where uniques.u_code = hundred.h_code
		and uniques.u_code = tenpct.t_code
		and uniques.u_code = updates.p_code
		and uniques.u_code = 'BENCHMARKS';
    u_date|    h_date|    t_date|    p_date
----------+----------+----------+----------
02-22-1907|02-22-1907|02-22-1907|02-22-1907
(1 row)


----------

-- oltp_read_join_13
-- multiple contiguous range select from a single table on an indexed integer field, subselect on indexed float field using two table equality join on indexed integer fields
-- uses: uniques, tenpct
-- might use index on: uniques.u_key (x2), tenpct.t_signed, tenpct.t_key
-- returns 1027 rows

select uniques.u_int, uniques.u_name
	from uniques
	where uniques.u_key <= 2000000
		and uniques.u_signed >
			(select avg(tenpct.t_signed)
			from tenpct
			where uniques.u_key = tenpct.t_key)
	order by u_int;
  u_int|u_name              
-------+--------------------
 300031|yHzaKLYdFANIgPFAQZHw
 400041|WRauMJ2rvMhwQSZV9tzB
 500051|mOvoutoEj jc4x2sdyCi
 900091|bT1gLDYPjwNBOkWXDYMl
1000101|iy7NOo5:ujTIqOeDvyd8
1300131|Rgzt500ae412xiaeobAv
1500151|lmZ1f8jae39:yCL23tbV
1700171|I9Ul1ewNsi3fQRHxkWN4
1900191|oevIKAqiHi7De2l0CMHq
(9 rows)


----------

-- oltp_read_join_14
-- multiple contiguous range select from a single table on an indexed integer field, two table left outer equality join on indexed integer fields
-- uses: tenthou, tenpct
-- might use index on: tenthou.t_code, tenthou.t_key, tenpct.t_code
-- returns 10 rows

select tenthou.t_key, tenthou.t_name, tenthou.t_signed, tenthou.t_code, tenpct.t_key
	from tenthou left outer join tenpct
	on (tenthou.t_code = tenpct.t_code)
	where tenthou.t_key <= 1000000;
NOTICE:  LEFT OUTER JOIN not yet implemented
ERROR:  JOIN expressions are not yet implemented

EOF
